package com.ruoyi.web.service.warning;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.domain.warning.WarningInsect;
import com.ruoyi.web.pojo.request.insect.InsectListRequest;
import com.ruoyi.web.pojo.request.warning.WarningInsectRequest;

import java.util.List;
import java.util.Map;

/**
 * 预警昆虫信息表 服务类
 * @author fwx  2024-02-01 14:44:37
 */
public interface WarningInsectService extends IService<WarningInsect> {
    /**
    * 新增预警昆虫信息表
    * @author fwx 2024-2-1 14:44:37
    */
    public void insert(WarningInsect WarningInsect);

    /**
    * 修改预警昆虫信息表
    * @author fwx 2024-2-1 14:44:37
    */
    public void update(WarningInsect WarningInsect);

    /**
     * @desc  启用或停用虫情配置
     * @author fwx 2024/2/1 15:27
     **/
    void updateEnable(Integer id, Integer flag);

    /**
     * @desc  新增或修改
     * @author fwx 2024/2/1 15:31
     **/
    void saveOrUpdateInfo(WarningInsect WarningInsect);

    /**
    * 删除预警昆虫信息表
    * @author fwx 2024-2-1 14:44:37
    */
    public void delete(String id);

    /**
    * 分页查询预警昆虫信息表
    * @author fwx  2024-2-1 14:44:37
    */
    public void queryPage(IPage<WarningInsect> page);
    
    /**
     * @desc  分页查询预警昆虫信息表
     * @author fwx 2024/2/1 15:04
     **/
    public List<WarningInsect> queryPage(WarningInsectRequest request);
    
    /**
     * @desc  查询账号下有识别的昆虫信息
     * @author fwx 2024/3/6 15:03
     **/
    public List<WarningInsect> getInsectList(InsectListRequest request);

    /**
    * 查询所有预警昆虫信息表
    * @author fwx 2024-2-1 14:44:37
    */
    public List<WarningInsect> queryAll();

    /**
     * @desc  查询所有的昆虫 , key 昆虫名称
     * @author fwx 2024/3/5 11:15
     **/
    public Map<String,WarningInsect> getAllMap();

    /**
     * @desc  得到启用的配置
     * @author fwx 2024/2/19 14:11
     **/
    public List<WarningInsect> getEnabled();

    /**
    * 根据id查询预警昆虫信息表
    * @author fwx  2024-2-1 14:44:37
    */
    public WarningInsect findById(String id);

}
